// 导入Vue构造函数
import Vue from 'vue'
// 导入Vuex构造函数
import Vuex from 'vuex'
// 导入持久化管理数据的插件
import createdPersisitedState from 'vuex-persistedstate'
// 导入全局getters
import getters from './getters'
// 导入三个子模块对象
import app from './modules/app'
import settings from './modules/settings'
import user from './modules/user'
// 注册Vuex
Vue.use(Vuex)
// 实例化一个根store
const store = new Vuex.Store({
  // 拆模块
  modules: {
    // 注册3个子模块，key,value相同，所以采用简写
    app,
    settings,
    user
  },
  // 简写getters：getters
  getters,
  plugins: [
    // 使用让 vuex 数据持久化的插件
    createdPersisitedState({
      // 本地存储键名
      key: 'fuxihrsass',
      // 哪些模块的数据需要持久化
      paths: ['user', 'app']
    })
  ]
})

export default store
